Nun noch ein paar Hinweise dazu, was ihr an der nächsten Aufgabe der WSORT machen sollt.
In der WSORT sollt ihr ein kleines Programm schreiben, das von der Standard-Eingabe zeilenweise
einliest und sobald alle Zeilen eingelesen wurden, diese alphabetisch sortiert und in
sortierter Reihenfolge wieder ausgibt.
Die Lernziele sind also, dass ihr mit der Ein- und Ausgabe zurechtkommt, d.h. dass
ihr von stdin lest und nach stdout schreibt und dass ihr die Realloc-Funktionen nutzt.
Die Realloc-Funktion ist an dieser Stelle notwendig, weil ihr nicht wisst, wie groß
eure Eingabe am Ende sein wird.
Und ihr könnt an dieser Stelle auch keine verkettete Liste nutzen, weil ihr zum Sortieren
die QSort-Funktion verwendet, die nur ein Array, aber keine Liste unterstützt.
Darüber hinaus sollt ihr noch mit dem vorgestellten Wall-Craft-Programm zurechtkommen und überprüfen,
dass euer Programm keinerlei Speicherfehler hat.
Damit ihr eure Abgaben testen könnt, legen wir euch Eingabedaten bereit, die ihr euch
mittels des Copypublic-Files vor Skriptos kopieren könnt.
Die Dateien liegen im Verzeichnis Poi i4sp1.pub.aufgabe2.
Dabei könnt ihr die Ausgabe eures Programms mit der Ausgabe eines von uns bereitgestellten
WSort-Programms überprüfen.
So könnt ihr feststellen, ob euer Programm für die gleiche Eingabe die selber Ausgabe
tätigt, wie das vom Lehrstuhl bereitgestellte.
An dieser Stelle noch der kurze Hinweis, wie ihr eure Abgaben testen könnt.
Wenn ihr euer ausführbares Programm die WSort habt, dann ist der Aufruf der WSorte recht
einfach.
Ihr tippt einfach WSort und könnt jetzt hat solange Zeilen eingeben, bis ihr irgendwann
EOF sendet, indem ihr Ctrl-D drückt.
Ab diesem Moment wird die Eingabe sortiert und wieder ausgegeben.
Nachdem es nun ziemlich lästig ist, die Eingabe per Hand zu tätigen, haben wir euch im PUB-Verzeichnis
bereits Wörterlisten zur Verfügung gestellt.
Diese heißen zum Beispiel WList0 bis WList6.
Diese Wörterlisten sind relativ lang.
Die erste hat zum Beispiel 380 Zeilen.
Das ist mehr, als man fürs Testen eintippen möchte.
Deshalb könnt ihr das natürlich auch alles automatisiert machen, indem ihr die jeweilige
Eingabedatei über die Shell als Eingabe weiterleitet.
Ihr könnt also euer Programm WSort ausführen und mit dem kleiner Zeichen den Inhalt einer
Datei in die Standardeingabe weiterleiten.
Zum Beispiel jetzt die Datei WList0.
Ab dem Moment liest das Programm WSort von der Standardeingabe aus der Datei WList0.
Und sobald das Ende der Datei erreicht wurde, wird die Eingabe sortiert und ausgegeben.
Das alles kann ich nun in eine weitere Datei speichern, indem ich mit dem größeren Zeichen
einfach die Ausgabe umleite.
Zum Beispiel in eine Datei WList.mine, indem ich nun meine Ausgabe speicher.
Wir haben euch auch ein bereits fertig kombiniertes WSort Programm zur Verfügung gestellt,
das ihr zum Vergleichen nutzen könnt.
Das liegt ebenfalls im Pupverzeichnis und wenn ihr dieses ausführt, könnt ihr auf dieselbe
Art und Weise zum Beispiel eine Datei Willis.spteam erstellen.
Jetzt habt ihr zwei Dateien.
Die eine wurde von eurem Programm erstellt, die andere ist mit dem Programm von uns.
Was ihr nun machen könnt ist, vergleichen ob die Ausgaben der beiden Programme gleich
ist.
Dies könnt ihr ganz einfach machen, indem ihr Programme zum Vergleichen wie zum Beispiel
Zugänglich über
Offener Zugang
Dauer
00:15:31 Min
Aufnahmedatum
2020-05-13
Hochgeladen am
2020-05-13 22:16:15
Sprache
de-DE